// pages/pay/pay.js
var app = getApp()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    myHttp: app.globalData.myHttp,
    payId:'',/////////////////////传入支付时所需的id
    orderId: '',
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },

  //支付
  pay() {
    wx.request({
      url: this.data.myHttp + '/pay/unifiedOrder',
      method: "GET",
      header: {
        'content-type': 'application/json',
      },
      data:{
        // id:payId
        id:643,
        payType:wxpay
      },
      success(res) {
        console.log(res)
        console.log(res.data)
        wx.requestPayment({
          timeStamp: res.data.timestamp,
          nonceStr: res.data.noncestr,
          package: 'prepay_id=' + res.data.prepayid,
          signType: 'MD5',
          paySign: res.data.sign,
          'success': function(res) {
            console.log(res);
          },
          'fail': function(res) {
            console.log(res);
            console.log('fail' + JSON.stringify(res))
          }
        })
      },
      fail: function(err) {
        console.log(err)
      }
    })

  },

  toMy(){
    wx.switchTab({
      url: '../my/my',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // console.log("开始前" + app.globalData.userInfo)
    // console.log("开始")
    // this.getUserInfo()
    // console.log("结束后" + app.globalData.userInfo)
    // console.log("结束")
    // 查看是否授权
    wx.getSetting({
      success(res) {
        console.log("授权" + res)
        console.log("授权" + JSON.stringify(res))
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称
          //拿到session_key实例化WXBizDataCrypt（）这个函数在下面解密用
          // var pc = new WXBizDataCrypt(appId, res.data.session_key)
          wx.getUserInfo({
            success: function (res) {
              //拿到getUserInfo（）取得的res.encryptedData, res.iv，调用decryptData（）解密
              // var data = pc.decryptData(res.encryptedData, res.iv)
              // app.globalData.unionid = data.unionId
              // console.log('解密后 unionid: ', app.globalData.unionid)
              console.log(res)
              console.log(JSON.stringify(res))
              console.log(res.userInfo)
            }
          })
        }
      }
    })
  },

  //获取用户信息的回调
  bindGetUserInfo(e) {
    console.log(e.detail.userInfo)
    console.log(JSON.stringify(e.detail.userInfo))
  },

  //打开授权列表的回调
  bindOpenSetting(e){
    console.log("已经打开了授权列表")
  },

  getUserInfo: function (loginType, cb) {
    var that = this
    if (app.globalData.userInfo == null) {
      typeof cb == "function" && cb(app.globalData.userInfo, true);
    }
    else {
      //1.调用登录接口
      wx.login({
        success: function () {
          wx.getUserInfo({
            success: function (res) {
              console.log("getUserInfo中:" + res)
              console.log(res.data)
              console.log(res.userInfo)
              that.globalData.userInfo = res.userInfo;
              typeof cb == "function" && cb(that.globalData.userInfo, true);
            },
            fail: function () {
              //2.第一次登陆不强制授权，直接返回
              if (loginType == 0) {
                typeof cb == "function" && cb(that.globalData.userInfo, false);
              }
              else {
                //3.授权友好提示
                wx.showModal({
                  title: '提示',
                  content: "您还未授权登陆，部分功能将不能使用，是否重新授权？",
                  showCancel: true,
                  cancelText: "否",
                  confirmText: "是",
                  success: function (res) {
                    //4.确认授权调用wx.openSetting
                    if (res.confirm) {
                      if (wx.openSetting) {//当前微信的版本 ，是否支持openSetting
                        wx.openSetting({
                          success: (res) => {
                            if (res.authSetting["scope.userInfo"]) {//如果用户重新同意了授权登录
                              wx.getUserInfo({
                                success: function (res) {
                                  console.log("重新同意了授权登录" + res)
                                  console.log(res.data)
                                  console.log(res.userInfo)
                                  that.globalData.userInfo = res.userInfo;
                                  typeof cb == "function" && cb(that.globalData.userInfo, true);
                                }
                              })
                            } else {//用户还是拒绝
                              typeof cb == "function" && cb(that.globalData.userInfo, false);
                            }
                          },
                          fail: function () {//调用失败，授权登录不成功
                            typeof cb == "function" && cb(that.globalData.userInfo, false);
                          }
                        })
                      } else {
                        typeof cb == "function" && cb(that.globalData.userInfo, false);
                      }
                    }
                    else {
                      typeof cb == "function" && cb(that.globalData.userInfo, false);
                    }
                  }
                })
              }
            }
          })
        }
      })
    }
    console.log(app.globalData.userInfo)
  },
  

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})